Conventional data processing systems may provide commands for inquiring about the status of a user of the data processing system. The types of status information typically provided may include which users are logged on to a system, when a user logged on, which workstation the user is logged onto, which programs are being executed by a user, and how long such programs have been executing. However, when a first user desires to inquire about the physical presence of a second user, no capability is provided by conventional systems. If one desires to ask if someone is at his workstation, or in his office, or in his department, or in his building, or in any other physical area, then conventional systems cannot answer. This is a problem when the first user desires to initiate an action on the system which either requires, depends upon, or would be furthered by the physical presence of the second user.
The state of the prior art is demonstrated by the IBM (International Business Machines Corporation) VM* Operating System QUERY USERS, QUERY NAMES, and QUERY USERID commands, the DEC (Digital Equipment Corporation) VMS* Operating System SHOW USER command, and the USL (Unix System Laboratories) UNIX* System V Operating System USERS, WHO, WHODO, RWHO, and FINGER commands. (IBM and VM are registered trademarks of International Business Machines Corporation; DEC and VMS are registered trademarks of Digital Equipment Corporation; USL and UNIX are trademarks of Unix System Laboratories in the United States of America and other countries.)
The IBM VM* Operating System QUERY USERS command gives the number of users logged on to the system. The QUERY NAMES command lists the userids of all logged on users. The QUERY USERID command tells if a specific user is logged on to the system. Although these commands tell whether a user is logged on to a system, they do do not provide any information on the physical presence of a user. This is due to the fact that a user may be logged onto a system, but still not be physically present at the logged on terminal device. In addition, these commands do not provide any information about users relative to remote systems in a network. These commands also do not provide any information about the user relative to a terminal device if such terminal device is an intelligent terminal executing its own operating system and applications in addition to being logged on to the system. In addition, these commands only provide a query for a single user or for all users on a system. These commands do not provide a query for a group of users sharing a common characteristic.
The DEC VMS* Operating System SHOW USER command provides a list of the users currently logged on to the system and their terminal device numbers. Again, this command does not provide any information on the physical presence of a user; nor does it provide any information about users relative to remote systems in a network; nor does it provide a query for a group of users sharing a common characteristic.
The USL UNIX* System V Operating System USERS command provides a list of the users currently logged on to the system. The WHO command provides the names of the users currently logged on to the system, their terminal device numbers, the times they logged on, and the duration of time that their terminal devices have been inactive. The WHODO command provides for each logged on user or for a single named user their terminal device numbers and how long they have been logged on. In addition, WHODO provides for each program process that a user is executing at the time of the inquiry, the name of the program process, the terminal device on which the program process is executing, its process ID number, and the amount of CPU (central processing unit) seconds consumed so far by the process. The RWHO command and the FINGER command provide the same information as the WHO command on remote users on other systems in a network, and in addition identify the remote system on which a user is logged on. Again, although these commands tell whether a user is logged on to a system, they do do not provide any information on the physical presence of a user. Also, although these commands do provide information about users relative to remote systems in a network, this information is limited to remote systems which are also executing a UNIX operating system. In addition, these commands do not provide a query for a group of users sharing a common characteristic.
For a situation which may call for a user needing to know about the physical presence of another user, consider the following situations. A first user may wish to verify that a second user is in his office. If the second user is not answering his phone or system messages for whatever reasons, the first user may be unable to verify the second user's physical presence unless he or someone else actually goes to the second user's office. Another situation may be when the first user wishes to fax a confidential or sensitive document to the second user, but is unwilling to do so if the receiving fax device is unattended. Still another situation may be when a first user wishes to call on short notice a meeting of a group of users. To determine if all of the potential attendees are physically present, the first user has to check on each potential attendee by either calling them on the phone, sending them a system message, or going to their offices. Still another situation may be when a user wishes to communicate with any member of a group that is physically present, without having to check on a number of members of the group before finding a member that is physically present. For example, the user may have a system problem and wishes to speak with anyone in the system support organization. Still another situation may be when a user wishes to verify that a physical area is clear and that no one is physically present in the physical area. Since a user in the physical area may not respond to the phone or system messages, the requesting user may have to physically check the entire physical area.
The prior art approaches described above fail to meet the needs of the above situations and present the user with three difficulties. The first difficulty is that the prior art approaches detect if a user is logged on to a system. They do not detect the physical presence of a user. The second difficulty is that if a user attempts to rely on the prior art to detect the physical presence of another user, the user may receive presence false alarms. A presence false alarm is an indication that a user is physically present when the user is not actually physically present. A presence false alarm may result when a user first logs on to a system and then leaves the area leaving the logon active. A presence false alarm may also result when a user logs on to a system from a remote location other than his normal workstation in his office. The third difficulty is that if a user attempts to rely on the prior art to detect the physical presence of another user, the user may receive presence errors. A presence error is an indication that a user is not physically present when the user is actually physically present. A presence error may result when the user is physically present in his office, but not logged on to a system.
Thus the prior art provides no method of, or apparatus for, automatic detection of a user's physical presence. As such, there is a need for a method of, and apparatus for, providing automatic detection of the physical presence of a user of a data processing system.